﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AbstractClasses
{
    class Program
    {
        static void Main(string[] args)
        {
            DerivedClass dc = new DerivedClass();
            dc.JustMethod();
            Console.WriteLine();

            dc.AbstractMethod();
            Console.WriteLine();
            dc.VirtualMethod();
            Console.WriteLine();
            Console.WriteLine("--------------");
            BaseClass bc = dc;
            bc.JustMethod();
            Console.WriteLine();
            bc.AbstractMethod();
            Console.WriteLine();
            bc.VirtualMethod();

            Console.ReadKey();
        }
    }
}
